In today's network management systems (NMS) there is a desire to be able to configure services in a data network instead of the individual managed devices or nodes in the data network. However, the creation of a service instance in a data network, typically effects several managed devices or nodes. Thus, the manifestation of a service in a data network, typically consists of a series of reconfigurations of several different managed devices or nodes in the data network.
FIG. 1 shows an example of a data network 10. The data network 10 comprises three provider edge (PE) routers 11, 12, 13 and five customer equipment (CE) routers 14, 15, 16, 17, 18. These are examples of the managed devices or nodes in a data network referred to above. A virtual private network (VPN) is an example of a service in the data network 10.
A VPN service may connect the data networks behind the CE routers 14, 15, 16, 17, 18, such that IP traffic can flows between these data networks. For example, assume that a VPN service is desired between the data network behind the CE router 14 (e.g. a main office) and the data network behind the CE router 15 (e.g. a local office). In order for an operator to be able to create and provide the VPN service, the operator must reconfigure both PE routers 12, 13 and both CE routers 14, 15.
FIG. 2 shows another example of a data network 20. The data network 20 comprises a load balancer (LB) 24 and a set of web servers 21, 22, 23. These are other examples of the managed devices or nodes in a data network referred to above. Also, here, the data network 20 further comprises a NMS node 26, which also may be referred to as a network configuration system server or similar, and a user interface 27 configured to enable an operator to communicate with the NMS node 26. The concept of a website is an example of a service in the data network 20.
For example, creating a website may typically entail reconfiguring the load balancer (LB) 24 with an external IP address, reconfiguring the load balancer (LB) 24 so that it load balances this external IP address towards a set of web servers 21, 22, 23, reconfiguring each of the web servers in the set of webservers 21, 22, 23 with a new internal, virtual IP address, and finally configuring a new virtual host entry together with the contents of the website on each of the web servers in the set of webservers 21, 22, 23.
Both these two examples illustrate the concept of a high level service, which when created or manipulated will result in a series of reconfigurations of several managed devices or nodes in their respective data network. A standard NMS solution employed in most data networks today is as follows:                Creating a data model of the high level service;        Write software/program code where instances of the service can be created using, for example, a software or computer program product with a user interface through which, for example, a VPN or a website can be created;        Write software/program code that executes the changes to the involved managed devices or nodes in the data network when the service is created;        Write software/program code for handling modifications to existing services and deletion of existing services.        
However, assume that an operator is attempting to change the VPN service illustrated in the example above by, for example, adding another CE router 16, 17, 18 or by changing some of the service attributes (such as, e.g. quality of service (QoS) attributes) associated to the VPN service instance. Using the standard NMS solution, there must be a software/program that runs in the NMS node that knows how to handle all possible changes to the service instance. If the service is complex, the software/program code to handle changes, modifications and deletions of service instances is typically considerably more complex than the software/program code needed to actually create the service instance in the first place. This increases the programming complexity and workload for the service application programmer.